﻿#ifndef GREET_ACTIVATOR_H
#define GREET_ACTIVATOR_H

#include <ctkPluginActivator.h>

// 前向声明告诉编译器 GreetImpl 是一个类，但没有提供其具体定义。
// 这减少了头文件之间的依赖关系，从而加快了编译速度。
// 前向声明适用于指针或引用声明
class GreetImpl;  

// 自定义的激活类要继承ctkPluginActivator，并实现其两个接口：start和stop
class GreetActivator : public QObject, public ctkPluginActivator
{
    Q_OBJECT
    Q_INTERFACES(ctkPluginActivator)
    Q_PLUGIN_METADATA(IID "GREET")

public:
    void start(ctkPluginContext* context);
    void stop(ctkPluginContext* context);

private:
    GreetImpl *m_pImpl;  // 服务实现类对象
};

#endif // GREET_ACTIVATOR_H
